// pages/goods_list/index.js

/* 
1 用户上滑页面 滚动条触底 开始加载下一页数据
  1 找到滚动条触底事件  微信小程序官方开发文档寻找
  2 判断还有没有下一页数据
    1 获取到总页数  只有总条数
      总页数 = Math.ceil(总条数 /  页容量  pagesize)
      总页数     = Math.ceil( 23 / 10 ) = 3
    2 获取到当前的页码  pagenum
    3 判断一下 当前的页码是否大于等于 总页数 
      表示 没有下一页数据

  3 假如没有下一页数据 弹出一个提示
  4 假如还有下一页数据 来加载下一页数据
    1 当前的页码 ++
    2 重新发送请求
    3 数据请求回来  要对data中的数组 进行 拼接 而不是全部替换！！！
2 下拉刷新页面
  1 触发下拉刷新事件 需要在页面的json文件中开启一个配置项
    找到 触发下拉刷新的事件
  2 重置 数据 数组 
  3 重置页码 设置为1
  4 重新发送请求
  5 数据请求回来 需要手动的关闭 等待效果

 */



import  request  from '../../request/request.js'
import { showLoading } from '../../utils/myself.js'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tabs:[
      {id:0,value:'综合',isActive:true},
      {id:1,value:'销量',isActive:false},
      {id:2,value:'价格',isActive:false},
    ],
    goodsList:[]

  },


   queryParams:{
    query:'',
    cid:'',
    pagenum:1,
    pagesize:10
  },

  totalPages:'',


  myChangeItem(e) {
    console.log(e)
    const {index}=e.detail
    // let tabs=this.data.tabs;//获取data定义的数据
  let {tabs}=this.data
  tabs.map((v,i)=>i==index?v.isActive=true:v.isActive=false)

  this.setData({
    tabs
  })
    
  },



//   query	否	string	关键字
// cid	否	string	分类id
// pagenum	否	number	页码
// pagesize	否	number	页容量


  /**
   * 生命周期函数--监听页面加载
   */

  onLoad: function (options) {
    console.log('options',options)
    // if(options.cid) {
    //   this.queryParams.cid=options.cid
    // }else {
    //   this.queryParams.cid=''
    // }

    // if(!options.query) {
    //   this.queryParams.query=''
    // }else {
    //   this.queryParams.query=options.query
    // }
  

    this.queryParams.cid=options.cid || ''
    this.queryParams.query=options.query || ''
    //获取商品查询数据
    this.getGoodsList()


   


  },
//准备获取数据
  getGoodsList() {
    request({url:"/goods/search",data:this.queryParams})
    .then(result=>{
      //  wx.hideLoading();
         

      console.log(result)
      let {total,goods}=result

      // 总页数 = Math.ceil(总条数 /  页容量  pagesize)   total 23    pagesize=10  23/10=2.3
      this.totalPages=Math.ceil(total/this.queryParams.pagesize)
      console.log(this.totalPages)   
      // this.setData({   //需要改进
      //   goodsList:goods

      // })
      this.setData({
        goodsList:[...this.data.goodsList,...goods]  //合并数组  评定数据
      })
       


    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    console.log('用户下拉动作')
    this.queryParams.pagenum=1; //重置数据
    this.setData({  //重置数据
      goodsList:[]
    })
    wx.showToast({
      title:'正在下拉刷新...'
    })
    this.getGoodsList();


  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    // console.log('到底了')
    // if(this.totalPages>= this.queryParams.pagesize) { //表示还有下一页
         
    // }

    if(this.queryParams.pagenum>=this.totalPages) {  //最后1页
      //  console.log('最后1页了 此时不要发送请求')
       wx.showToast({
         title: '最后1页了 此时不要发送请求',
        
       });
         
    }else { //还没到最后1页
      this.queryParams.pagenum++;
      
    //  wx.showLoading({
    //    title: `正在加载第${this.queryParams.pagenum}页`,
       
    //  });

    showLoading(`正在加载第${this.queryParams.pagenum}页`)
       
      this.getGoodsList()

    }

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})